package com.ruoyi.cookbook.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.cookbook.mapper.CommentMapper;
import com.ruoyi.cookbook.domain.Comment;
import com.ruoyi.cookbook.service.ICommentService;
import com.ruoyi.common.utils.DateUtils;

/**
 * 宠物评论Service业务层处理
 * 
 * @author ruoyi
 */
@Service
public class CommentServiceImpl implements ICommentService 
{
    @Autowired
    private CommentMapper commentMapper;

    /**
     * 查询宠物评论
     * 
     * @param commentId 宠物评论主键
     * @return 宠物评论
     */
    @Override
    public Comment selectCommentByCommentId(Long commentId)
    {
        return commentMapper.selectCommentByCommentId(commentId);
    }

    /**
     * 查询宠物评论列表
     * 
     * @param comment 宠物评论
     * @return 宠物评论
     */
    @Override
    public List<Comment> selectCommentList(Comment comment)
    {
        return commentMapper.selectCommentList(comment);
    }

    /**
     * 新增宠物评论
     * 
     * @param comment 宠物评论
     * @return 结果
     */
    @Override
    public int insertComment(Comment comment)
    {
        comment.setCreateTime(DateUtils.getNowDate());
        return commentMapper.insertComment(comment);
    }

    /**
     * 修改宠物评论
     * 
     * @param comment 宠物评论
     * @return 结果
     */
    @Override
    public int updateComment(Comment comment)
    {
        comment.setUpdateTime(DateUtils.getNowDate());
        return commentMapper.updateComment(comment);
    }

    /**
     * 批量删除宠物评论
     * 
     * @param commentIds 需要删除的宠物评论主键
     * @return 结果
     */
    @Override
    public int deleteCommentByCommentIds(Long[] commentIds)
    {
        return commentMapper.deleteCommentByCommentIds(commentIds);
    }

    /**
     * 删除宠物评论信息
     * 
     * @param commentId 宠物评论主键
     * @return 结果
     */
    @Override
    public int deleteCommentByCommentId(Long commentId)
    {
        return commentMapper.deleteCommentByCommentId(commentId);
    }

    /**
     * 根据宠物ID查询评论列表
     * 
     * @param recipeId 宠物ID
     * @return 评论列表
     */
    @Override
    public List<Comment> selectCommentListByRecipeId(Long recipeId)
    {
        return commentMapper.selectCommentListByRecipeId(recipeId);
    }

    /**
     * 根据用户ID查询评论列表
     * 
     * @param userId 用户ID
     * @return 评论列表
     */
    @Override
    public List<Comment> selectCommentListByUserId(Long userId)
    {
        return commentMapper.selectCommentListByUserId(userId);
    }

    /**
     * 修改评论状态
     * 
     * @param commentId 评论ID
     * @param status 状态
     * @return 结果
     */
    @Override
    public int updateCommentStatus(Long commentId, String status)
    {
        Comment comment = new Comment();
        comment.setCommentId(commentId);
        comment.setStatus(status);
        comment.setUpdateTime(DateUtils.getNowDate());
        return commentMapper.updateComment(comment);
    }
} 